//package com.javabasic;
//
//import com.javabasic.serialize.util.SerializeUtils;
//
//import java.util.concurrent.atomic.AtomicInteger;
//
///**
// * @author mir.xiong
// * @version 1.0
// * @description
// * @see
// * @since Created by work on 2021/12/6 9:43 下午
// */
//public class Test3 {
//    public static void main(String[] args) {
//
//    }
//}
//
////interface SecurityInterface {
////    boolean checkAccount();
////}
////
////class Account implements SecurityInterface {
////    private int money;
////
////    public synchronized void upMoney(int num) {
////        // 存钱操作 & 余额校验
////    }
////
////
////    public synchronized void downMoney(int num) {
////        // 取钱操作 & 余额校验
////    }
////
////
////    @Override
////    public boolean checkAccount() {
////        if (money < 0 || money > 10_000_000) {
////            return false;
////        }
////        return true;
////    }
////}
//
//interface SecurityInterface {
//    boolean checkAccount(int account);
//}
//
//class Account implements SecurityInterface {
//    private AtomicInteger money;
//
//    public void upMoney(int num) {
//        // 余额校验
//        checkAccount(money.get() + num);
//        // 存钱操作
//        money.addAndGet(num);
//    }
//
//
//    public void downMoney(int num) {
//        // 余额校验
//        boolean flag = checkAccount(money.get() - num);
//        if (!flag) {
//            // to do something
//            return;
//        }
//        // 取钱操作
//        money.set(money.get() - num);
//    }
//
//
//    @Override
//    public boolean checkAccount(int account) {
//        int currentMoney = money.get();
//        if (currentMoney < 0 || currentMoney > 10_000_000) {
//            return false;
//        }
//        return true;
//    }
//}